package com.study.bigdata.spark.core.rdd.operator.transform

import org.apache.spark.{SparkConf, SparkContext}

object Scala07_RDD_Operator_Transform_1 {
  def main(args: Array[String]): Unit = {

    val conf = new SparkConf().setMaster("local[*]").setAppName("RDD")
    conf.set("spark.local.dir","D:\\hadoopbook\\spark\\test")
    val sc = new SparkContext(conf)

    val lines = sc.textFile("data/apache.log")
    // TODO 算子 - 转换 - filter
    // filter算子可以按照指定规则对每一条数据进行筛选过滤
    // 从服务器日志数据apache.log中获取2015年5月17日的请求路径
    val rdd1 = lines.filter(
      line => {
        //line.contains("17/05/2015")
        val datas = line.split(" ")
        val time = datas(3)
        time.startsWith("17/05/2015")
      }
    )
    val rdd2 = rdd1.map(
      line => {
        val datas = line.split(" ")
        datas(6)
      }
    )

    rdd2.collect().foreach(println)
    sc.stop()

  }

}
